package com.qudian.pay.log.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import com.qudian.pay.log.enums.LoggerLevel;

/**
 * @Description: 只有在没有上级层次时才顶事，一般针对dubbo接口调用
 * @ClassName: PerformLog
 * @author gaoxiang
 * @date 2016年12月27日 下午5:30:31
 */ 
@Target({ ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface PerformLog {
	
	/**
	 * @Description: 日志文件名
	 * @return String 返回类型
	 * @author gaoxiang
	 * @date 2015年11月17日 下午10:33:52
	 */
	public String logFileName() default "PERFORM";
	
	/**
	 * @Description: 日志记录级别
	 * @return LoggerLevel 返回类型
	 * @author gaoxiang
	 * @date 2015年11月17日 下午10:34:04
	 */
	public LoggerLevel loggerLevel() default LoggerLevel.INFO;
	
	/**
	 * @Description: 性能监控参数阀值(ms)
	 * @return int 返回类型
	 * @author gaoxiang
	 * @date 2016年11月17日 下午6:28:21
	 */
	public int threshold() default 500;
}
